x86: make set_task_gate() x86-32-only since x86-64 doesn't have task gates.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 22 Nov 2007 14:16:25 +0000 (14:16 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 22 Nov 2007 14:16:25 +0000 (14:16 +0000)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/traps.c
xen/arch/x86/x86_32/traps.c
xen/include/asm-x86/desc.h

index b00400e01590b81d352ca4ac5e8252a6ea837ccd..00b30a16d290f1acc5a9e210fe997eb69ff51c64 100644 (file)
@@ -2581,15 +2581,6 @@ void set_system_gate(unsigned int n, void *addr)
     _set_gate(idt_table+n,14,3,addr);
 }
 
-void set_task_gate(unsigned int n, unsigned int sel)
-{
-    idt_table[n].b = 0;
-    wmb(); /* disable gate /then/ rewrite */
-    idt_table[n].a = sel << 16;
-    wmb(); /* rewrite /then/ enable gate */
-    idt_table[n].b = 0x8500;
-}
-
 void set_tss_desc(unsigned int n, void *addr)
 {
     _set_tssldt_desc(
index c87cb6bb7d906a17a0888ddf1770c2778554f09f..64afdee5db31f7b6b5a111f0f739afcbe762e958 100644 (file)
@@ -258,6 +258,15 @@ unsigned long do_iret(void)
     return 0;
 }
 
+static void set_task_gate(unsigned int n, unsigned int sel)
+{
+    idt_table[n].b = 0;
+    wmb(); /* disable gate /then/ rewrite */
+    idt_table[n].a = sel << 16;
+    wmb(); /* rewrite /then/ enable gate */
+    idt_table[n].b = 0x8500;
+}
+
 void __devinit subarch_percpu_traps_init(void)
 {
     struct tss_struct *tss = &doublefault_tss;
index 2893b0b8d0163ceb36c1ac3e1b75001dd9145007..079e9e158bcacc32c6ebad2042299224621d7407 100644 (file)
@@ -214,7 +214,6 @@ extern struct desc_struct compat_gdt_table[];
 
 extern void set_intr_gate(unsigned int irq, void * addr);
 extern void set_system_gate(unsigned int n, void *addr);
-extern void set_task_gate(unsigned int n, unsigned int sel);
 extern void set_tss_desc(unsigned int n, void *addr);
 
 #endif /* !__ASSEMBLY__ */